import { createApp } from 'vue'
import vuex from 'vuex'
import App from './App.vue'
import router from './router'
import store from './store'
import  ElementPlus from 'element-plus';
import 'element-plus/theme-chalk/index.css';
import Cookies from "js-cookie"; //用Cookies存储
import 'nprogress/nprogress.css'
import { remove } from 'nprogress'

require("./util/formate.js")
var app = createApp(App).use(store).use(router).use(vuex).use(ElementPlus, { size: 'default', zIndex: 3000 })
//前置守卫
router.beforeEach((to, from, next) => {
  if (Cookies.get("token")!=null||to.path=='/Login') {//如果cookies有token或者路由实登录路径
  	next()//那么就进行下一步
  } else{

  	next({path:"/Login",query:{ind:to.path}})//否则就跳到登录页面，query标记ind路由

  }
})
// app是vue的实例
// 自定义指令
app.directive("permssion",{
  // 在绑定元素的父组件被挂载前调用
  // el--指令绑定到的元素。这可用于直接操作DOM
  mounted(el,binding){
    let val = binding.value //传递给指令的值
    var permssionList = store.getters.datas.perms || []//v-permssion----指令到的元素有权限就返回数据，
    if (permssionList.indexOf(val) === -1) {//用indexof来找一找，等于负一就是没有,没有就返回空值
      el.remove()
    }
  }
})



app.mount('#app')
